# 使用官方Go镜像作为编译环境
FROM golang:1.22.4-alpine AS builder

# 设置工作目录
WORKDIR /app

# 复制go.mod和go.sum，以确保依赖关系一致性
COPY go.mod go.sum ./

# 获取依赖项
RUN go mod download

# 复制项目源码
COPY . .

# 编译应用程序，输出静态链接的二进制文件
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o goLangTest .

# 用于运行应用程序的轻量级镜像
FROM alpine

# 从构建阶段复制编译好的二进制文件到当前镜像
COPY --from=builder /app/goLangTest /goLangTest

# 设置容器启动时执行的命令
ENTRYPOINT ["/goLangTest"]



